
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui" xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets" template="/template/main.xhtml">

	<ui:define name="body">
		<h:form prependId="false" id="form">

			<p:toolbar  >
				<p:toolbarGroup align="left">
					<p:commandButton  value="#{messages['button.save']}" action="#{pedidoEditMB.insert}"
						rendered="#{!pedidoEditMB.updateMode}" ajax="false" />
					<p:commandButton  value="#{messages['button.save']}" action="#{pedidoEditMB.update}"
						rendered="#{pedidoEditMB.updateMode and pedidoEditMB.habilitaBotaoUpdate()}" ajax="false" />
					<h:outputLabel value="Usuário não tem permissão para alterar um pedido" rendered="#{!pedidoEditMB.habilitaBotaoUpdate() and pedidoEditMB.updateMode}"/>	
					<p:dialog style="position: absolute; left:50px; top:50px;"  message="#{messages['label.confirm.delete']}" showEffect="bounce" hideEffect="explode"
						header="#{messages['label.dialog.delete']}" severity="alert" widgetVar="confirmation">
						<h:commandButton value="#{messages['button.dialog.yes']}" action="#{pedidoEditMB.delete}" immediate="true"
							ajax="false" />
						<h:commandButton value="#{messages['button.dialog.no']}" onclick="confirmation.hide()" type="button" />
					</p:dialog>

					<p:dialog hideEffect="explode" header="Identificar Usuário:" widgetVar="identificarCliente" appendToBody="form" position="top" style="position: fixed; top: 50%; left: 50%; margin-top: 50px; margin-left: 100px;" height="300">
							<h:panelGrid columns="3" >
								<h:outputLabel value="#{messages['cliente.label.fone']}: " for="fone" styleClass="text-input" />
								<h:inputText  onkeypress="if (event.keyCode == 13) { return false; }" id="fone" value="#{pedidoEditMB.fone}"  size="15" maxlength="14"
									title="#{messages['cliente.alt.fone']}" >
									<p:ajax listener="#{pedidoEditMB.digitarFone()}"  event="change"/>
								</h:inputText>
								<p:message for="fone" />

								<h:outputLabel value="#{messages['cliente.label.nome']}: " for="nomePesquisa" styleClass="text-input" />
								<h:inputText  onkeypress="if (event.keyCode == 13) {  return false; }"  id="nomePesquisa" value="#{pedidoEditMB.nomePesquisa}"  size="15" maxlength="14"
									title="#{messages['cliente.alt.nome']}" >
									<p:ajax listener="#{pedidoEditMB.digitarFone()}"  event="change"/>
								</h:inputText>
								<p:message for="nomePesquisa" />

							</h:panelGrid>
							
							<p:commandButton  title="#{messages['button.new']}" icon="ui-icon-document" action="#{clienteListMB.getNextView}" actionListener="#{clienteListMB.clear}" ajax="false" immediate="true"/>
							
							<p:commandButton id="btnFiltrar" value="#{messages['button.pesquisar']}" ajax="true" update="gridListaClientePesquisa" actionListener="#{pedidoEditMB.pesquisarCliente()}" immediate="true">
							</p:commandButton>

							<h:panelGrid  id="gridListaClientePesquisa">
								<ui:include src="cliente_grid.xhtml" >
									<ui:param name="listaClientes" value="#{pedidoEditMB.clientesPesquisados}"/>
									
								</ui:include>
							</h:panelGrid>

							<p:commandButton value="Fechar" onclick="identificarCliente.hide()" type="button" />	
					</p:dialog>

				</p:toolbarGroup>
			</p:toolbar>

			<br />

			<p:fieldset style="width:98%; -webkit-border-radius: 8px; -moz-border-radius: 8px;border-radius: 8px;" legend="#{messages['pedido.label']}" toggleable="true" toggleSpeed="500" >
				<h:panelGrid id="fields" columns="2">

					<h:outputLabel value="#{messages['pedido.label.id']}: " for="id" styleClass="text-input" />
					<h:panelGrid columns="2">
						<h:outputText id="id" value="#{pedidoEditMB.bean.id}" />
						<p:message for="id" />
					</h:panelGrid>	

					<h:outputLabel value="#{messages['pedido.label.dataCadastro']}: " for="dataCadastro" styleClass="text-input" />
					<h:panelGrid columns="2">
						<h:outputText id="dataCadastro" value="#{pedidoEditMB.bean.dataCadastro}" converter="dateConverter" >

						</h:outputText>
						<p:message for="dataCadastro" />
					</h:panelGrid>

					<h:outputLabel value="#{messages['pedido.label.statusPedido']}: " for="statusPedido" styleClass="text-input" rendered="#{pedidoEditMB.updateMode}"/>
					<h:panelGrid columns="2"  rendered="#{pedidoEditMB.updateMode}">
						<h:selectOneMenu value="#{pedidoEditMB.statusPedido}" id="statusPedido" style="width: 350px;"  rendered="#{pedidoEditMB.updateMode}"
							title="#{messages['obra.label.statusPedido']}" required="true"
							requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}">
	 						<f:selectItems value="#{pedidoEditMB.statusPedidos}"></f:selectItems>
	 						<p:ajax listener="#{pedidoEditMB.salvaDados()}" />
						</h:selectOneMenu>

						<p:message for="statusPedido"  rendered="#{pedidoEditMB.updateMode}"/>
					</h:panelGrid>	

					<h:outputLabel value="#{messages['pedido.label.cliente']}: " for="nome" styleClass="text-input"  rendered="#{pedidoEditMB.updateMode}" />
					<h:panelGrid columns="2"  rendered="#{pedidoEditMB.updateMode}">
						<h:outputText id="nome" value="#{pedidoEditMB.bean.cliente.nome}" rendered="#{pedidoEditMB.updateMode}" />
						<p:message for="nome"  rendered="#{pedidoEditMB.updateMode}" />
					</h:panelGrid>

					<h:outputLabel value="#{messages['pedido.label.cliente']}: " for="cliente" styleClass="text-input"  rendered="#{!pedidoEditMB.updateMode}" />
					<h:panelGrid columns="2" rendered="#{!pedidoEditMB.updateMode}" >
						<h:selectOneMenu value="#{pedidoEditMB.cliente}" id="cliente" style="width: 350px;"  rendered="#{!pedidoEditMB.updateMode}" 
							title="#{messages['obra.label.cliente']}" required="true"
							requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}">
							<f:selectItem itemLabel="Selecione" itemValue=""  itemDisabled="#{pedidoEditMB.clientes.size() eq 1}" />
	 						<f:selectItems value="#{pedidoEditMB.clientes}"></f:selectItems>
	 						<p:ajax listener="#{pedidoEditMB.trocarCliente()}" update="fields3,valorTotalPedido,hora,minuto" />
						</h:selectOneMenu>
						
						<p:commandButton value="Identificar Cliente" onclick="identificarCliente.show()" type="button" rendered="#{!pedidoEditMB.veioSelecao}" />

						<p:message for="cliente"  rendered="#{!pedidoEditMB.updateMode}" />
					</h:panelGrid>

					<h:outputLabel value="#{messages['pedido.label.dataEntrega']}: " for="dataEntrega" styleClass="text-input" />
					<h:panelGrid columns="8">
						<p:calendar id="dataEntrega" value="#{pedidoEditMB.bean.dataEntrega}"  
							required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" 
						   	pattern="#{messages['label.date.pattern']}" navigator="true" showButtonPanel="true"
						   	locale="#{currentLocale}" title="#{messages['pedido.alt.dataEntrega']}" >
	 						<p:ajax event="dateSelect" listener="#{pedidoEditMB.limpiaLink()}" update="dataEntrega" />
	 					</p:calendar>
						<p:message for="dataEntrega" />

						<h:outputLabel value="#{messages['pedido.label.hora']}: " for="hora" styleClass="text-input" />
						<h:selectOneMenu value="#{pedidoEditMB.bean.hora}" id="hora" style="width: 80px;"
							title="#{messages['pedido.label.hora']}" required="true"
							requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}">
							<f:selectItem itemLabel="Hora" itemValue="" />	
	 						<f:selectItems value="#{pedidoEditMB.horas}"></f:selectItems>
	 						<p:ajax listener="#{pedidoEditMB.salvaDados()}" />
						</h:selectOneMenu>
						<p:message for="hora" />
						<h:outputText value=" : " />
						<h:selectOneMenu value="#{pedidoEditMB.bean.minuto}" id="minuto" style="width: 80px;"
							title="#{messages['pedido.label.minuto']}" required="true"
							requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}">
							<f:selectItem itemLabel="Minuto" itemValue="" />	
	 						<f:selectItems value="#{pedidoEditMB.minutos}"></f:selectItems>
	 						<p:ajax listener="#{pedidoEditMB.salvaDados()}" />
						</h:selectOneMenu>
						<p:message for="minuto" />
					</h:panelGrid>	

					<h:outputLabel value="#{messages['pedido.label.valorTotalPedido']}: " for="valorTotalPedido" styleClass="text-input" />
					<h:panelGrid columns="2">
						<h:inputText   onkeypress="if (event.keyCode == 13) { return false; }" id="valorTotalPedido" value="#{pedidoEditMB.bean.valorTotalPedido}" readonly="true" required="true"
							title="#{messages['pedido.alt.valorTotalPedido']}"  styleClass="mask-moeda20">
							<f:converter converterId="bigDecimalConversor"/>
						</h:inputText>
						<p:message for="valorTotalPedido" />
					</h:panelGrid>

					<h:outputLabel value="#{messages['pedido.label.observacao']}: " for="observacao" styleClass="text-input" />
					<h:inputTextarea id="observacao" value="#{pedidoEditMB.bean.observacao}"
						rows="4" maxlength="255" style="width:300" title="#{messages['pedido.alt.observacao']}" >
 						<p:ajax listener="#{pedidoEditMB.salvaDados()}" />
					</h:inputTextarea>	
					<p:message for="observacao" />
							
				</h:panelGrid>
				<br/>
				<br/>
				<h:outputText value="Utilize '.'(ponto) no lugar das ','(virgulas)" style="font-size:15" />

				<h:panelGrid id="fields3" columns="1">

					<p:dataTable id="listaProdutoPedido" var="produtos" value="#{pedidoEditMB.items}" style="width:500">
						<p:column style="width:85%;" sortBy="#{produtos.descricao}">
							<f:facet name="header">#{messages['pedido.label.produto']}</f:facet>
							<h:outputText value="#{produtos.descricao}" />
						</p:column>
						<p:column style="width:85%;" sortBy="#{produtos.valor}">
							<f:facet name="header">#{messages['produto.label.valor']}</f:facet>
							<h:outputText value="#{produtos.valor}"/>
						</p:column>
						<p:column style="width:15%;" sortBy="#{produtos.id}">
							<f:facet name="header">#{messages['pedido.label.quantidade']}</f:facet>
							<h:inputText   onkeypress="if (event.keyCode == 13) { return false; }" value="#{pedidoEditMB.checkMap[produtos]}" size="6" maxlength="5" 
							required="true" requiredMessage="#{messages['mensagem_geral.campoObrigatorio']}" >
 								<p:ajax update=":form:fields,:form:listaProdutoPedido" listener="#{pedidoEditMB.calcularTotal()}"/>  
 							</h:inputText>
						</p:column>
					</p:dataTable>
					<br/>
					<p:message for="listaProdutoPedido" />
				</h:panelGrid>
			</p:fieldset>
			
		</h:form>
	</ui:define>

	<ui:define name="selecao">
		<p:commandLink value="Selecionar" onclick="identificarCliente.hide()" ajax="true" 
			update=":form" actionListener="#{pedidoEditMB.selecionaCliente()}" immediate="true">
			<f:setPropertyActionListener target="#{pedidoEditMB.cliente}" value="#{cliente.id}"></f:setPropertyActionListener>
			<f:param value="#{cliente.id}" name="cliente"></f:param>
		</p:commandLink>
	</ui:define>
</ui:composition>